package com.atguigu.spzx.common.config;

import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public class SpzxMetaObjectHandler implements MetaObjectHandler {
    //新增时自动填充
    @Override
    public void insertFill(MetaObject metaObject) {
        //填充创建和更新时间
        //如果要新增的对象有创建和更新时间 填充
        if(metaObject.hasGetter("createTime")){
            metaObject.setValue("createTime" , new Date());
        }
        if(metaObject.hasGetter("updateTime")){
            metaObject.setValue("updateTime" , new Date());
        }
    }
    //更新时自动填充
    @Override
    public void updateFill(MetaObject metaObject) {
        //填充更新时间
        if(metaObject.hasGetter("updateTime")){
            metaObject.setValue("updateTime" , new Date());
        }
        //如果对象有属性  属性值不为空 不填充
        //获取更新对象的  updateTime属性值
//        Object updateTime = this.getFieldValByName("updateTime", metaObject);
    }
}
